package com.pro.service;

import com.pro.pojo.*;
import org.apache.ibatis.annotations.Delete;

import java.util.List;
import java.util.Map;

/**
 * @ClassName: ProductService
 * @Author: Kai
 * @DATE: 2022/1/7
 * @TIME: 下午 01:56
 */
public interface ProductService {
    //查询所有商品分类
    List<ProductCategroy> getAllProductCategroy();

    //根据id删除商品分类
    Boolean deleteProductCategroy(Integer categoryId) throws Exception;

    //添加一条商品分类
    Boolean addProductCategroy(ProductCategroy productCategroy);

    //根据id修改一条商品分类
    Boolean updateProductCategroy(ProductCategroy productCategroy) throws Exception;

    //查询所有商品
    List<Product> getProduct(Product product);

    //根据id查询商品的详情信息
    Product getByIdProduct(Map map);

    //根据id修改商品
    Boolean updateProduct(Product product, JsCourseJournal jsCourseJournal) throws Exception;

    //根据商品id查询商品状态
    List<CourseRecord> getCourseRecord(Integer id, Integer type);

    //根据商品id删除商品
    Boolean deleteProduct(Integer id) throws Exception;

    //添加商品
    Boolean addProduct(Product product, CourseRecord courseRecord) throws Exception;

    //添加商品操作记录
    Boolean addProductOperationRecord(OperationLog operationLog);

    /* 功能描述: <br>
     * 〈查询商品的操作记录〉
     *
     * @param: operationLog
     * @return: java.util.List<com.pro.pojo.OperationLog>
     * @Author: Kai
     * @Date: 2022/1/12 下午 04:22
     */
    List<OperationLog> getProductOperationLogs(OperationLog operationLog);

    /* 功能描述: <br>
     * 〈根据id删除商品操作记录〉
     *
     * @param id
     * @return: java.lang.Boolean
     * @Author: Kai
     * @Date: 2022/1/12 下午 04:41
     */
    Boolean deleteProductOperationLog(Integer id) throws Exception;

    /* 功能描述: <br>
     * 〈根据名字查询id〉
     *
     * @param name
     * @return: java.util.List<java.lang.Integer>
     * @Author: Kai
     * @Date: 2022/1/12 下午 06:27
     */
    List<Integer>  getByNameId(String name);

    /* 功能描述: <br>
     * 〈根据用户id获取商品列表〉
     *
     * @param product
     * @return: java.util.List<com.pro.pojo.Product>
     * @Author: Kai
     * @Date: 2022/1/13 下午 03:05
     */
    List<Product> getByUserIdProductLists(Product product);
}
